package com.gsnd.briuppts.service;

import com.gsnd.briuppts.entity.BaseAccount;
import com.gsnd.briuppts.entity.DO.BaseAccountExtend;
import com.gsnd.briuppts.entity.DO.LoginVo;

/**
 * 系统账号的业务接口
 */
public interface BaseAccountService {

    /**
     * 用户登陆
     * 需要账号密码，返回用户信息（对象，null）
     * @param username 账号
     * @param password 密码
     * @return token令牌 + 用户Id + 用户名
     */
    LoginVo login(String username, String password);

    /**
     * 根据id查询单个用户
     * @param accountId 账号id
     * @return 账号对象
     */
    BaseAccount findByAccountId(String accountId);

    /**
     * 根据id查询单个用户，携带角色信息
     * @param accountId 账号id
     * @return
     */
    BaseAccountExtend findAccountAndRoleByAccountId(String accountId);
}
